Lo que probé:
Intenté solucionarlo a través de if (browser) , más específicamente { if (!browser) { let DailyIframe = await import('daily-co/daily-js) } en la función de carga dentro de <script context="module"> ) por lo que el código siempre se ejecuta en el servidor). Luego páselo como accesorio a un componente. Sin embargo, aunque funcionó en el servidor, el entorno de desarrollo local vuelve a ejecutar la función de carga (que tiene que devolver un accesorio vacío ya que nunca importó nada) y anula el valor de DailyIframe (podría ser un error con Vite/SvelteKit).
Intenté importar la biblioteca en un punto final, por ejemplo, api.json.js , que siempre se ejecuta en el servidor. Sin embargo, tiene que devolver un json, y no puedo pasarle una variable de biblioteca completa.
Después de la investigación , parece una combinación de problemas de Vite, SvelteKit y ciertas bibliotecas donde global no está definido: SvelteKit con MongoDB ReferenceError: global no está definido )
Pero no puedo usar su solución de ponerlo en un punto final, porque necesito el DailyIframe y la transmisión de audio del micrófono del cliente para crear una sala de videoconferencia.
Además, ¿por qué ciertas bibliotecas Daily (y mirando otras publicaciones relacionadas de Stackoverflow, MongoDB) arrojan este error en primer lugar, mientras que otras bibliotecas son seguras de usar?
De todos modos se agradece la sugerencia!
Por qué ?
Vite no incluye correcciones para las variables integradas de Node.
Leer sugerencia para entender:
De todos modos se agradece la sugerencia!
En index.html agregar:
<script> var global = global || window; </script> luego, por ejemplo, en App.svelte :
<script> import { onMount } from 'svelte' import DailyIframe from '@daily-co/daily-js' onMount(async () => { let callObject = DailyIframe.createFrame() const stream = await navigator.mediaDevices.getUserMedia({ audio: true }) let recorder = new MediaRecorder(stream) recorder.start() }) </script>https://stackblitz.com/edit/sveltekit-1yn6pz?devtoolsheight=33
vista previa de registros